package com.kh.pajx.sop.service.sys;

import java.util.List;

import com.kh.pajx.sop.domain.SysDepartment;
import com.kh.pajx.sop.base.IBaseService;

/**
 * 部门信息业务逻辑接口
 * @author:	azzcsimp
 * @Createdate:	2014年7月19日 上午2:15:05
 */
public interface ISysDepartmentService extends IBaseService<SysDepartment> {

	/**
	 * 查询所有顶级部门信息
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月19日 上午3:41:44
	 */
	List<SysDepartment> findTopDepartment();

	/**
	 * 查询所有子级部门信息
	 * @param deptCode 父级部门编码
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月19日 上午3:45:24
	 */
	List<SysDepartment> findChildrenDepartment(String deptCode);
	
	/**
	 * 获取部门编码
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月19日 上午4:48:44
	 */
	String getDeptCode();
	
	/**
	 * 获取部门信息树状展示JSON数据
	 * @return   部门信息树状展示JSON数据
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月19日 下午3:14:30
	 */
	String getDeptTreeJson();
	
	/**
	 * 按格式生成部门列表
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月19日 下午6:03:28
	 */
	List<SysDepartment> getAll();
	
	/**
	 * 根据编码查询对象
	 * @param deptCode 部门编码
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月20日 下午3:40:09
	 */
	SysDepartment getByCode(String deptCode);
}
